package com.example.check.mapper;

import com.example.check.pojo.CheckHistory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 查验历史Mapper接口
 */
@Mapper
public interface CheckHistoryMapper {
    
    /**
     * 根据ID查询查验历史
     */
    CheckHistory selectById(@Param("id") Integer id);
    
    /**
     * 根据行程ID查询查验历史
     */
    List<CheckHistory> selectByTripId(@Param("tripId") Integer tripId);
    
    /**
     * 根据用户ID查询查验历史
     */
    List<CheckHistory> selectByUserId(@Param("userId") Integer userId);
    
    /**
     * 根据物品ID查询查验历史
     */
    List<CheckHistory> selectByItemId(@Param("itemId") Integer itemId);
    
    /**
     * 插入查验历史
     */
    int insert(CheckHistory checkHistory);
    
    /**
     * 更新查验历史
     */
    int update(CheckHistory checkHistory);
    
    /**
     * 删除查验历史
     */
    int deleteById(@Param("id") Integer id);
    
    /**
     * 根据物品ID删除查验历史
     */
    int deleteByItemId(@Param("itemId") Integer itemId);
    
    /**
     * 根据行程ID删除查验历史
     */
    int deleteByTripId(@Param("tripId") Integer tripId);
    
    /**
     * 统计行程查验次数
     */
    int countByTripId(@Param("tripId") Integer tripId);
}
